package org.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.example.dto.UserAdminDTO;
import org.example.dto.UserAreaDTO;
import org.example.dto.UserLogoutStatusDTO;
import org.example.entity.TUserAuth;
import org.example.param.UserAuthParam;
import org.example.result.UserAuthResult;
import org.example.vo.ConditionVO;
import org.example.vo.PageResult;

import java.util.List;

/**
 * (TUserAuth)表服务接口
 *
 * @author makejava
 * @since 2023-06-14 14:09:38
 */
public interface TUserAuthService extends IService<TUserAuth> {



    /**
     * 注册
     * @param userAuthParam 参数
     * @return 注册结果
     * */
    UserAuthResult register(UserAuthParam userAuthParam);

    /**
     * 登录
     * @param userAuthParam 登录参数
     * @return UserAuthResult res
     * */
    UserAuthResult login(UserAuthParam userAuthParam);


    /**
     * 获取用户区域分布
     * @param conditionVO  参数
     * @return  UserAreaDTO
     * */
    List<UserAreaDTO> listUserAreas(ConditionVO conditionVO);
    /**
     * 获取用户区域分布
     * @param condition  参数
     * @return  PageResult
     * */
    PageResult<UserAdminDTO> listUsers(ConditionVO condition);

    /**
     * 登出
     * @return  UserLogoutStatusDTO
     * */
    UserLogoutStatusDTO logout();
}
